home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 41
/
Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso
/
-seriously_amiga-
/
cd-rom
/
acdb
/
src
/
libs.e
< prev
Wrap
Text File
|
1999-04-28
|
1KB
|
60 lines
OPT MODULE,OSVERSION=37
OPT PREPROCESS,REG=5
MODULE 'dos/dos'
/*
* libs.e
* ©1998 by Piotr Gapiïski
*
*
* [
* ['name.library',version,{base},MUSTBE],
* ['name.library',version,{base},MUSTBE],
* ...
* ...
* ]
*
*/
EXPORT PROC openLibs(libs:PTR TO LONG) HANDLE
->- otwiera wszystkie biblioteki zdefiniowane w strukturze libs
->- jeûeli jkaô biblioteka nie istnieje, wyôwietlony zostanie komunikat o bîëdzie
->-
DEF desc:PTR TO LONG,base
DEF error[FAULT_MAX]:STRING,x,len
len := ListLen(libs)
FOR x := 0 TO (len - 1)
desc := libs[x]
base := desc[2]
^base := OpenLibrary(desc[], desc[1])
IF (^base = NIL)AND(desc[3]) THEN Raise() ->- jeûeli biblioteka jest niezbëdna a jej nie ma
ENDFOR
RETURN TRUE
EXCEPT
Fault(ERROR_OBJECT_NOT_FOUND, NIL, error, FAULT_MAX)
WriteF('\s, v\d, \s\n', desc[], desc[1], error)
ENDPROC FALSE
EXPORT PROC closeLibs(libs:PTR TO LONG)
->- zamyka (TYLKO) wczeôniej otwarte biblioteki
->-
DEF desc:PTR TO LONG,base,x,len
len := ListLen(libs)
FOR x :=0 TO (len - 1)
desc := libs[x]
base := desc[2]
IF (^base) THEN CloseLibrary(^base)
^base := NIL
ENDFOR
ENDPROC